繁体   English   中英

用.htaccess重写动态URL

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM