[英]Re-writing Dynamic URL with .htaccess
我想删除所有网页末尾的“ .php”,并重写“ example.com/archive?url = ...”部分的动态网址。
我到目前为止所得到的:
Options -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
这部分工作正常,但现在我也想为网站的以下部分重写我的动态URL。
旧网址: example.com/archive? url = test-article
新网址: example.com/archive/test-article
RewriteRule ^archive/([^/]+)$ archive?url=$1
这部分不起作用。 我在这里想念什么?
它用于附加域,所以也许与问题有关?
编辑1:
我在.htaccess文件中放入了一些垃圾,它生成了一个错误,因此我确定它正在读取文件。
编辑2:
我按照以下建议禁用了多视图,但是现在出现内部服务器错误。 这是错误日志:
[2014年5月20日星期二13:12:12] [错误] [客户端(ip)]由于可能的配置错误,请求超出了10个内部重定向的限制。 必要时使用'LimitInternalRecursion'增加限制。 使用“ LogLevel调试”获取回溯
编辑3:我找到了解决方案
我通过将最后一条规则更改为解决了该问题:
RewriteRule ^news/([^/]+)$ archive?url=$1
您最有可能启用了MultiViews
选项。
您可以使用以下方式禁用该功能:
Options -MultiViews
禁用MultiViews
,当您请求/file
时,它将不提供/file.php
服务。
编辑:根据您修改后的问题,您可以执行以下操作:
RewriteRule ^news/([^/]+)$ archive?url=$1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.