0

(我可能是个白痴,似乎 .htaccess 在 OSX 上的 Apache 中默认未启用。)

我知道那里有很多 mod_rewrite 问题,但我就是无法正确解决我的问题,而且似乎没有其他东西能完全涵盖它。

我想做的就是重定向

www.url.com/something

或者

www.url.com/something/anything/more

www.url.com/index.php?values=something

或者

www.url.com/index.php?values=something/anything/more

没有什么比这更有趣的了(我会添加一些关于忽略 gif/jpg/png 的内容,稍后添加 www. 等)——所有东西/任何东西/更多的处理都将在 PHP 中完成。

我只是无法做到这一点。任何提示/资源或刚刚设法做到这一点的任何人?知道我曾经完全完美但多年前丢失了该代码,这更令人沮丧。

4

2 回答 2

1
RewriteEngineOn
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d    
RewriteRule ^(.*)$ /index.php?values=$1 [L]

请注意,如果您尝试在 .htaccess 文件中执行此操作,并且当然需要启用 mod_rewrite 模块,则需要在相关目录的 Apache 主机配置文件中设置 AllowOverride On。

此规则将忽略任何实际存在的文件或目录(即图像)的重定向(包括 index.php)。

于 2012-08-06T21:47:20.223 回答
1

这很简单,至少在你所问的方面但基本上你需要让 index.php 直通(所以你不会将 index.php 重写index.php),然后是主要的重写。

RewriteEngine On
RewriteRule index.php - [L]

# your conditions here
RewriteRule ^/?(.*)$ /index.php?values=$1 [L]

# your conditions here在现场添加您想要排除重写的任何条件

于 2012-08-06T21:48:29.603 回答