1

我想将 URL 参数重定向到新文件。我有一个页面 blog.php 生成这样的链接的 url:http://localhost/project-DEV/blog/category/link-url-here/

但是当我点击链接时,它会为我提供这个URL:

http://localhost/project-DEV/blog/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/blogs/uncategorized/hello-world/

这是我在博客文件夹中的 .htaccess 文件。

RewriteEngine On
RewriteBase /project-DEV/blog
RewriteRule ^(.*)/?$  http\:\/\/localhost\/project-DEV\/blog\/index.php?$1 [L] 

blog/index.php在博客文件夹中有一个文件。我想把它发送category/link-url-here/到我的index.php文件中。

有可能.htaccess像我试过的那样吗?为什么这段.htaccess代码不起作用?

4

2 回答 2

1

尝试省略http://localhost部分:

RewriteEngine On
RewriteBase /project-DEV/blog
RewriteRule ^(.*)/?$  /project-DEV/blog/index.php?$1 [L]

如果这没有帮助,您可以添加一个明确的条件 not rewrite index.php,以防止重写循环:

RewriteCond %{REQUEST_URI} !^/project-DEV/blog/index.php$
于 2013-06-24T06:58:46.983 回答
1

因为您RewriteRule将几乎匹配每个请求,包括那些已经被重写的请求,所以它会被重复调用。您需要重写规则,使其与已经包含重写路径的请求不匹配,可能带有RewriteCond.

此外,请考虑阅读When Not To Use Rewrite并使用更轻、更快、更简单的mod_redirect而不是mod_rewrite.

于 2013-06-24T07:05:42.763 回答