Tag: url rewriting

如何检查是否在服务器上启用mod_rewrite?

目前我正在使用光速服务器托pipe。 主机说mod_rewrite已启用,但我不能让我的脚本在那里工作。 每当我尝试访问的URL,它返回404 – 找不到页面。 我把相同的代码放在另一台运行Apache的服务器上。 在那边工作 所以我想,这是.htaccess和mod_rewrite问题。 但Hosting的支持仍然坚持,他们的mod_rewrite是打开的,所以我想知道如何检查它是否实际启用或不。 我试图检查与phpinfo() ,但没有运气,我找不到mod_rewrite在那里,是因为他们正在使用lightspeed ? 有什么方法可以检查吗? 请帮我一下 谢谢。 仅供参考:我的.htaccess代码是 Options -Indexes <IfModule mod_rewrite.c> DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] </IfModule> 我也是这样试过的 DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php/$1 […]

重写规则最后标志不起作用?

php_flag display_errors 1 php_value auto_prepend_file init.php RewriteEngine on RewriteRule ^$ /id/authenticate [R] RewriteRule ^login_openid$ /id/login_openid.php [QSA,L] RewriteRule ^authenticate$ /id/authenticate.php [QSA,L] RewriteRule ^facebook$ /id/facebook.php [QSA,L] RewriteRule ^createfromopenid$ /id/createfromopenid.php [QSA,L] RewriteRule .* – [L,R=403] 这是我的.htaccess文件。 在serverconfig我只有AllowOVerride all 。 如果我请求URL http://mydomain.com/id/authenticate我得到一个403错误。 如果我删除了最后一条规则,它就会起作用。 不应该阻止任何进一步的规则发生? 编辑: 我的htaccess文件是在子文件夹“ID”,所以规则的工作。

如何用Apache mod_rewrite隐藏.html扩展名

我有一小部分静态网站,我只想隐藏.html扩展名: url /foo获取静态文件/foo.html 浏览器仍然显示url /foo 然后,客户端可以使用mydomain.com/foo而不是mydomain.com/foo.html发送书签。 这听起来很简单,我之前很喜欢使用mod_rewrite (用WordPress或者redirect),但是我认为这很难被破解。 也许我错过了一些非常明显的东西,但是我无法在任何地方find解决scheme,而且我一整天都在这里! 我们运行我们自己的服务器,所以这可以去哪里最好的地方。 附录 下面检查的解决scheme工作正常。 然后在运行一段时间后,我注意到两个问题: 所有的页面开始显得没有风格。 我重新加载,清除caching等,但仍然没有风格。 我以前遇到过这个麻烦,找不到源代码。 有一个目录和一个名为“画廊”的HTML文件,所以/画廊链接显示目录列表,而不是HTML文件。 我应该能够sorting,但进一步的提示欢迎:-)

重写任意数量的path段来查询参数

我有这个.htaccess规则: RewriteRule viewshoplatest/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/$ /viewshoplatest.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12&$13=$14&$15=$16 它应该像这样映射一个URL: http://www.veepiz.com/viewshoplatest/start/10/end/10/filter/0/ownerid/0/sortby/date/sortdir/DESC/cat/0/scat/0/ 对此: http://www.veepiz.com/viewshoplatest.php?start=0&end=10&filter=0&ownerid=0&sortby=date&sortdir=DESC&cat=0&scat=0 当我点击链接并打印$_GETvariables时,我得到这个: Array ( [start] => 10 [end] => 10 [filter] => 0 [ownerid] => 0 [sortby] => start0 [start1] => start2 [start3] => start4 [start5] => start6 ) 任何想法,为什么它performance不好? 好的,我通过重写规则来解决这个问题 RewriteRule viewshoplatest/start/(.*)/end/(.*)/filter/(.*)/ownerid/(.*)/sortby/(.*)/sortdir/(.*)/cat/(.*)/scat/(.*)/$ /viewshoplatest.php?start=$1&end=$2&filter=$3&ownerid=$4&sortby=$5&sortdir=$6&cat=$7&scat=$8

如何去除codeigniterpath中的“index.php”

如何删除中间某个位置的codeigniter中的每个path中的"index.php" ? 我想干净的非index.php-fied URLs ?

通用htaccessredirectwww到非www

我想将www.example.comredirect到example.com 。 以下htaccess代码使这发生了: RewriteCond %{HTTP_HOST} ^www\.example\.com [NC] RewriteRule ^(.*)$ http://example.com/$1 [L,R=301] 但是,有没有办法以通用的方式做这个没有硬编码的域名?

用PHP重写URL

我有一个URL如下所示: url.com/picture.php?id=51 我将如何去转换该URL到: picture.php/Some-text-goes-here/51 我认为WordPress也一样。 我如何在PHP中创build友好的URL?

修改url而不重新加载页面

有什么办法可以修改当前页面的url,而无需重新加载页面? 如果可能,我想访问#哈希之前的部分。 我只需要改变域名后的部分,所以它不像我违反跨域政策。 window.location.href = "www.mysite.com/page2.php"; // sadly this reloads

如何使用.htaccess创建友好的URL?

我用.htaccess很难。 我想为我正在工作的网站创建友好的网址 基本上我想转换这个: http://website.com/index.php?ctrl=pelicula&id=0221889 http://website.com/index.php?ctrl=pelicula&id=0160399&tab=posters 进入这个: http://website.com/pelicula/0221889/ http://website.com/pelicula/0221889/posters/ 万一我以后需要它,我也想知道如何将文章标题添加到这样的URL(我使用PHP)的末尾: http://website.com/pelicula/0221889/the-article-name/ http://website.com/pelicula/0221889/the-article-name/posters/ 注意:Stackoverflow方法也适合我,例如这个问题的网址是: http://stackoverflow.com/questions/3033407/htacces-to-create-friendly-urls-help-needed 但是,你可以把任何东西放在身份证上,也可以工作。 喜欢这个: http://stackoverflow.com/questions/3033407/just-anything-i-want 我已经使用一些自动的网络工具来创建.htacces文件,但它不能正常工作。 所以我要求你的帮助 如果您能推荐.htacces的最佳实践和建议,我也会很高兴。 编辑:基于一些答案,我到这里我把这个: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/([^/]+)/([^/]+)/?([^/]*)/?$ index.php?ctrl=$1&id=$2&tab=$3 [QSA,L] </IfModule> 但是我得到默认的主机“页面未找到”错误。 我也试过: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^/]+)/(\d+)/([^/]+)/?$ index.php?ctrl=$1&id=$2&tab=$3 [QSA,L] RewriteRule ^([^/]+)/(\d+)/?$ index.php?ctrl=$1&id=$2 [QSA,L] RewriteRule ^([^/]+)/?$ index.php?ctrl=$1 [QSA,L] </IfModule> 这也是行不通的。 […]